CIRC-2470: Add Hold request for item as trigger for Loan notices #1644
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



Purpose
JIRA Issues:
Libraries need to inform current borrowers when a hold request is placed on their borrowed item, especially when circulation policies prevent renewal of items with active holds. Without this notification, borrowers may mistakenly assume they can renew their items and fail to return them on time.
This PR implements backend support for automatic patron notifications when hold requests (item-level or title-level) are placed on borrowed items.
Approach
Core Implementation:
Added
HoldNoticeSenderclass: Separated hold-specific notice logic for better separation of concerns and maintainability.Notice event type: Added
HOLD_REQUEST_FOR_ITEMnotice event type that integrates with FOLIO's existing patron notice infrastructure. The UI configuration (UICIRC-1245) allows staff to select this as a triggering event in patron notice policies.Notification logic:
Per-item hold checking for title-level requests: When a title-level hold is placed, the system checks each item individually to avoid duplicate notifications. For example:
Event publishing: Publishes
LOG_RECORDevents when hold notices are sent for audit trail.